package com.yangxd.hospital.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yangxd.hospital.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author yangxd
 * @since 2021-04-24
 */
public interface UserService extends IService<User> {
    /**
     * 根据用户名查找
     * @param userName
     * @return
     */
    User selectByName(String userName);

    /**
     * 根据departmentId查找
     * @param departmentId
     * @return
     */
    List<User> listByDepartmentId(Integer departmentId);

    /**
     * 获取登录的用户信息
     * @return
     */
    User getUserInfo() ;

    /**
     * 修改用户信息
     * @param user
     */
    void updateUser(User user);

    /**
     * 分页查询医生信息
     *
     * @param page
     * @param wrapper
     * @return
     */
    IPage<User> findPageDoctors(Page<User> page, @Param(Constants.WRAPPER) QueryWrapper<User> wrapper);

    /**
     * 删除医生信息
     * @param userId
     */
    void deleteById(Integer userId);

    /**
     * 注册用户
     * @param user
     */
    Integer saveUser(User user);



}
